The present invention relates to a data communication apparatus and a method for performing data communications effectively, and a data recording/reproducing apparatus and a method.
As one of the communication specification, for example, there is a fibre channel developed by ANSI (American National Standards Institute). It is spelled xe2x80x98fibrexe2x80x99 in the fibre channel different from xe2x80x98fiberxe2x80x99 as in so-called optical fiber.
An apparatus performing communications via the fibre channel is called a node and, each node performs transmitting and receiving data via a port (communication port). In the fibre channel, cables connecting between the ports are not especially limited. For example, optical fibers (fiber cable), coaxial cables (copper cable) or twisted pair cables may be used.
Further, the fibre channel is one of serial communication methods, and the transmission speed is faster and the transmission distance is longer comparing with other serial communication methods. Further, it is assumed that the fibre channel may be applied in the data transmission between various kinds of apparatuses hereafter since TCP/IP (Transmission Control Protocol/Internet Protocol) which has recently grown very rapidly and other various kinds of protocols can be used in addition and, further, its usage can be broadly extended to be connected.
Here, in the fibre channel at the moment, 128 Mbps (bit per second), 256 Mdps, 512 Mbps, -Gbps are defined as the transmission speed and, in the near future, extending it to 2 Gbps and 4 Gbps is expected. Further, the transmission distance varies depending on the transmission speed, however, it is defined as about 0.175 km to 10 km in the fiber cable, about 10 m to 100 m in the copper cable and about 50 m to 100 m in the twisted pair cable respectively.
Further, a port of the fibre channel as shown in FIG. 15, for example, has a transmitter which transmits information and a receiver which receives information respectively. Further, as substantial connecting forms of the fibre channel, as being classified broadly there is a point-to-point topology as shown in FIG. 16 and an arbitrated loop topology as shown in FIG. 17.
In the point-to-point topology as shown in FIG.16, one of the transmitter is connected to the other receiver, and one of the receiver is connected to the other transmitter using only two ports. In the topology, the transmission speed, the transmission medium (cable connecting the both) and the protocol of the two ports and so on are required to be the same.
As shown in FIG.17, the arbitrated loop topology is formed with three or more ports, and a transmitter of one port is connected to a receiver of the other port so that a ring network is formed.
FIG. 17 shows an arbitrated loop topology formed with four ports A to D. Here, a transmitter of the port A and a receiver of the port B, a transmitter of the port B and a receiver of the port C, a transmitter of the port C and a receiver of the port D, and a transmitter of the port D and a receiver of the port A are connected respectively. In the arbitrated loop topology, the up to 127 ports can be connected so far.
In the point-to-point topology, transmitting and receiving data are performed subjecting to the other port, other than the transferring port itself since it is formed with two ports. However, in the arbitrated loop topology, there may be a case where transmitting and receiving data are performed via the port which is not the subject of the transmission and reception of the data.
That is, in FIG. 17, for example, when data is transmitted from the port A to the port C, data addressed to the port C is transmitted from the transmitter of the port A to the receiver of the port B. When the port B receives data addressed to the port C by the receiver, then, the data is transmitted from the transmitter of the port B to the receiver of the port C. In the port C, data addressed to the port C itself from the port A is received as described above. In this case, the port B functions as so-called repeater which only transmits data as it is received by the receiver from the transmitter.
By the way, in the specification of the fibre channel, a jitter (deviation) of xc2x1100 ppm (parts per million; 1 ppm=1/100 million) is allowed in clocks of the transmitter of each port. Further, in the fibre channel, receiving data is performed synchronizing with the clock obtained from data so that data can be received reliably by the receiver even if there is a jitter in the clock of the transmitter as mentioned.
That is, a receiver of one port operates synchronizing with the clock of a transmitter of the other port being connected. Accordingly, for example, as shown in FIG. 18, the transmitter of the port A and the receiver of the port B, the transmitter of the port B and the receiver of the port C, the transmitter of the port C and the receiver of the port D and the transmitter of the port D and the receiver of the port A are synchronized with the identical clocks respectively.
Here, in the following description, an operation clock of the transmitter or the receiver forming the same port is called a transmitter clock or a receiver clock respectively where appropriate. The receiver clock is identical to the transmitter clock of the transmitter of other port connected to the receiver.
As described above, a receiver of one port operates synchronizing with the transmitter clock of the transmitter of the other port connected to the receiver. In one port, there is a deviation of 200 ppm in maximum between the transmitter clock and the receiver clock since a jitter of xc2x1100 ppm is allowed in the transmitter clock.
In FIG. 19, in regard to a standard clock, a clock with a deviation of 100 ppm (FIG. 19(A); transmitter clock or receiver clock) and a clock with a deviation of xe2x88x92100 ppm (FIG. 19(B); receiver clock or transmitter clock) are shown. Accordingly, a deviation of 200 ppm in maximum occurs in the two clocks. Further, 1 clock of skew (clock skew) per 5000 clocks occurs between the two clocks having the deviation of 200 ppm.
On the other hand, in the arbitrated loop topology, the port transmitting data is required to obtain the right to use a bus (arbitrated loop) before transmitting data when transmitting data from a port to the other port. The competition to obtain the right to use the bus is called arbitration.
The port transmitting data is required to perform transmission of data after obtaining the right to use the bus by arbitration and, further, opening the port to which data is transmitted.
In the fibre channel, as a command to open the port connected in the arbitrated loop topology, OPNyx, OPNyy, OPNfr, OPNyr and so on, called order set are defined.
Here, OPNyx is used in a full duplex and OPNyy is used in a half duplex respectively. Further, OPNfr is used when opening all the ports forming the arbitrated loop topology and OPNyr is used when opening a plurality of ports among the all respectively.
FIG. 20 shows a format of the order set OPNyr, defined in the fibre channel.
The order set OPNyr, is formed with 1 transmission word (TW) as shown in FIG. 20. Here, 1 transmission word is a data volume transmitted and received in 1 clock in the fibre channel and is 4 bytes (32 bits) so far.
In the fibre channel, a 8B/10B converted data is transmitted and received for decreasing transmission errors. In the first byte (the 31st bit to the 24th bit) of the order set OPNyr, a special code called K28.5 which is a code being 8B/10B converted is allocated. The special code is used to obtain word synchronism when reproducing a parallel data from a serial data.
In the second byte from the forefront (the 23rd bit to the 16th bit), a special code called D17.4 which is a code being 8B/10B converted is allocated. This shows that the order set is the order set of OPNyr. In the third byte (the 15th bit to the 8th bit), a port address AL_PD of the port to be opened is allocated. In the fourth byte (the last 1 bit), (the 7th bit to the 0th bit), a special code called D31.7 which is a code being 8B/10B converted is allocated. This means to open a plurality of ports (there are still ports to be opened).
In the fibre channel, transmitting and receiving data called frame is performed other than the order set described above. In the fibre channel, transmission and reception of data are performed by the frame unit.
FIG. 21 shows a configuration of the frame in the fibre channel.
The frame is formed with, from the forefront, SOF (Start of Frame), a frame header, a data field, CRC (Cycle Redundancy Check), and EOF (End of Frame) being allocated in this order.
Here, the SOF is a code showing a start of the frame and being formed with 4 bytes. The frame header is formed with 24 bytes and a port ID (ID for specifying port) of the port transferring the frame, the port ID of the receiving port, and the information for specifying a protocol used in the transmission and so on are allocated. The data field is formed with an optional header of 64 bytes in maximum, and a payload of 2048 bytes in maximum. Accordingly, the data field is formed with 2112 (=64+2048) bytes in maximum. The substantial data which is to be transmitted originally is allocated in the payload. The CRC is an error correction code signal and formed with 4 bytes. The EOF is a code showing an end of the frame and formed with 4 bytes.
The transmission and reception of the frame are performed in the fibre channel, however, in a case where the transmission and reception are not performed, basically, transmission and reception of data called fill words are performed since a receiver of a port operates synchronizing with the clock of the transmitter of the other port being connected.
Here, as the fill words, for example, data called an idle or ARB is defined. The idle is to bury between the order sets or between the frames, and the ARB is to obtain the right to use the bus (network). Accordingly, in a case where transmitting and receiving the order set or the frame are not performed, transmitting and receiving the idle are performed basically.
By the way, as described above, when the port functions as a repeater, that is, when transmitting data as it is received by the receiver from the transmitter, the receiver clock and the transmitter clock are not the same and have a deviation of 200 ppm in maximum (a jitter of xc2x1100 ppm in each port is allowed, which leads to a maximum of 200 ppm). As a result, the port functioning as the repeater may not be able to transmit and receive the normal data, when transmitting the data received synchronizing with the receiver clock, is performed synchronizing with the transmitter clock continuously for a long period of time.
That is, in the fibre channel, transmission of 1 transmission word per 1 clock is performed as described above. Accordingly, a skew of 1 clock per 5000 clocks occurs between the receiver clock and the transmitter clock, in a case there is a deviation of 200 ppm, for example. As a result, simply, transmitting and receiving 1 transmission word will be failed in 5000 clocks.
To prevent a failure of transmitting and receiving data resulted from such a clock skew (deviation of a clock), a fill word (especially an idle) is inserted before and after the frame and the order set. Here, in the fibre channel, it is defined to perform transmission of the fill words of at least 6 transmission words after transmitting the frame or the order set. Further, to prevent the failure of transmitting and receiving data resulted from the clock skew, the payload in the frame is limited to 2048 bytes currently.
Limitation in bytes of payload is not such an issue when transmitting data of a small amount, however, when transmitting data of a large amount such as picture data, a transmission efficiency gets worse since data is transmitted being divided by a unit of 2048 bytes and the frame is formed with an over head being taken into consideration.
Further, when transmitting data to a plurality of ports, each port is required to be open.
The transmission of OPNyr order set, as mentioned earlier, is required to be performed the same times as the number of the port to open a plurality of ports. Further, the fill words of at least 6 transmission words are needed to be inserted every time OPNyr order set is transmitted.
Accordingly, for example, in a case where the arbitrated loop topology is formed with 127 ports, when 125 ports among them, for example, are opened, at least, 1 transmission word of OPNyr order set and 6 transmission words of fill words, amounting to 7 transmission words are required to be transmitted 125 times. That is, the data of at least 875 (=7xc3x97125) transmission words is required to be transmitted and extremely long time is to be spent.
Further, as a result of spending a long time for opening the port, the transmission efficiency becomes worse.
The present invention is designed to overcome the foregoing problems. It is an object of the invention to provide a data communication apparatus and a method, and a data recording/reproducing apparatus and a method in which improvements of the transmission efficiency of data can be obtained.
A data communication apparatus according to the invention transmits data to a plurality of communication ports after opening each of a plurality of the communication ports. The data communication apparatus comprises transmitting means for providing an address region showing address corresponding to a plurality of the communication ports respectively in a command for opening the communication ports and, for transmitting the command to a plurality of the communication ports with the address of the communication ports which are to be opened being a predetermined value. The communication ports are opened by the command transmitted from the transmitting means and the data is transmitted to the communication ports being opened.
In the data communication apparatus, by the transmitting means, an address region showing address corresponding to a plurality of the communication ports respectively is provided in a command for opening the communication ports and, the command is transmitted to a plurality of the communication ports with the address of the communication ports which are to be opened being a predetermined value. The communication ports are opened by the command transmitted from the transmitting means and the data is transmitted to the communication ports being opened.
Another data communication apparatus according to the invention comprises receiving means for receiving data which has been transmitted, transmitting means for transmitting data, first clock generating means for generating a first clock, second clock generating means for generating a second clock, storing means for storing data received by the receiving means, and control means for controlling the storing means to store the data received by the receiving means is stored in the storing means synchronizing with the first clock generated by the first clock generating means and, to read out the data stored in the storing means synchronizing with the second clock generated by the second clock generating means.
In the data communication apparatus, the storing means is controlled by the control means and the data received by the receiving means is stored in the storing means synchronizing with the first clock generated by the first clock generating means and, at the same time, data stored in the storing means is read out synchronizing with the second clock generated by the second clock generating means.
A data recording/reproducing apparatus according to the invention comprises a non-linear accessible recording means, input/output processing means for processing data so that at least one of recording and reproducing of data to the recording medium is performed, and communication means for receiving the transmitted data and transmitting data. After having communication means of other recording/reproducing apparatus being opened, the data recording/reproducing apparatus transmits data to the opened communication means of the other recording/reproducing apparatus. The communication means comprises the transmitting means for providing an address region showing address corresponding to each communication means of other recording/reproducing apparatus in a command for opening communication means of other recording/reproducing apparatus, and for transmitting the command to communication means of the other recording/reproducing apparatus with the address of the communication means of the other recording/reproducing apparatus which is to be opened being a predetermined value. Communication means of other recording/reproducing apparatus is opened by the command transmitted from the transmitting means, and data is transmitted to the opened communication means of other recording/reproducing apparatus.
In the data recording/reproducing apparatus, an address region for showing the address corresponding to each communication means of the other recording/reproducing apparatus is provided in a command for opening the communication means of the other recording/reproducing apparatus by the transmitting means of the communication means and, the command is transmitted to the transmitting means of the other recording/reproducing apparatus with the address of the transmitting means of the other recording/reproducing apparatus which is to be opened being a predetermined value. Further, the communication means of the other recording/reproducing apparatus is opened by the command transmitted from the transmitting means and, data is transmitted to the communication means of other recording/reproducing apparatus being opened.
Another recording/reproducing apparatus according to the invention comprises a non-linear accessible recording medium, input/output processing means for processing data so that data is recorded in the recording medium, and for processing the data so that the data is reproduced, communication means having receiving means for receiving data transmitted and transmitting means for transmitting data, first clock generating means for generating the first clock, second clock generating means for generating the second clock, storing means for storing data received by the receiving means, and control means for controlling the storing means to store data received by the receiving means in the storing means synchronizing with the first clock generated by the first clock generating means and for controlling the storing means to read out data stored in the storing means synchronizing with the second clock generated by the second clock generating means.
In the recording/reproducing apparatus, the storing means is controlled by the control means and data received by the receiving means is stored synchronizing with the first clock generated by the first clock generating means and, the data stored in the storing means is read out synchronizing with the second clock generated by the second clock generating means.
A data communication method according to the invention, after having a plurality of communication ports being opened respectively, transmits data to a plurality of communication port. In the data communication method includes a first step of providing an address region for showing address corresponding to each of a plurality of communication ports in a command for opening the communication port, and of transmitting the command to a plurality of communication ports with the address of the communication port which is to be opened being a predetermined value. Further, the data communication method includes a second step of opening the communication port by the command which is transmitted in the first step, and of transmitting data to the communication port which is opened.
In the data communication method, an address region for showing the address corresponding to each of a plurality of communication ports is provided in a command for opening the communication ports and, at the same time, the command is transmitted to a plurality of ports with the address of the communication port which is to be opened being a predetermined value. Further, the communication port is opened by the transmitted command and data is transmitted to the communication port being opened.
Another data communication method according to the invention, the data formed with a first data and a second data which is transmitted when the first data is not transmitted is received by the receiving means and, transmitted by the transmitting means. The data communication method includes a step of storing the first data in the first storing means synchronizing with the first clock, and reading out the first data stored in the first storing means from the first storing means synchronizing with the second clock.
In the data communication method, the first data is stored in the first storing means synchronizing with the first clock, and the first data stored in the first storing means is read out from the first storing means synchronizing with the second clock.
A data recording/reproducing method according to the invention transmits data to the opened communication means of the other recording/reproducing apparatus and records and reproduces data to/from recording medium of the other recording/reproducing apparatus after having the communication means of the other recording/reproducing apparatus being opened, in a data recording/reproducing apparatus comprising a non-linear accessible medium, input/output processing means for processing the data so that at least one of recording and reproducing of data to the recording medium is performed and communication means for receiving the data transmitted and transmitting the data. The data recording/reproducing method includes a first step in which an address region showing address corresponding to each communication means of the other recording/reproducing apparatus is provided in a command which opens communication means of the other recording/reproducing apparatus, and the command is transmitted to communication means of the other recording/reproducing apparatus with the address of the communication means of the other recording/reproducing apparatus which is to be opened being predetermined value. Further, it includes a second step in which communication means of the other recording/reproducing apparatus is opened by the command transmitted in the first step, and the data is transmitted to communication means of the other recording/reproducing apparatus which is opened.
In the data recording/reproducing method, the address region for showing the address corresponding to a plurality of ports respectively is provided in the command for opening the communication means of the other recording/reproducing apparatus and, the command is transmitted to a plurality of the communication means of the other recording/reproducing apparatus with the address of the communication port which is to be open being a predetermined value. Further, communication means of another recording/reproducing apparatus is opened by the command transmitted and, the data is transmitted to the communication means of the other recording/reproducing apparatus which is opened.
Another data recording/reproducing method according to the invention performs recording and reproducing data formed with the first data and the second data which is transmitted when the first data is not transmitted in the apparatus. The apparatus comprises receiving means for receiving transmitted data, transmitting means for transmitting data to be transmitted, storing means for storing data received by the receiving means, and input/output processing means for processing the data so as to record data in a non-linear accessible recording medium and reproduce data recorded in the recording medium. The recording/reproducing method includes a step of storing the first data in the storing means among data received by the receiving means synchronizing with the first clock, and of reading out the first data stored in the storing means from the storing means synchronizing with the second clock.
In the recording/reproducing method, the first data among data received by receiving means is stored in storing means synchronizing with the first clock and the first data stored in the storing means is read out from the storing means.
Other objects, characteristics and advantages of the invention will become sufficiently evident with the following description.